home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / CMPLTPAS / GENERIC.PAS < prev    next >
Pascal/Delphi Source File  |  1986-01-10  |  2KB  |  90 lines

  1. PROGRAM Generic;
  2.  
  3.  
  4. LABEL
  5.   100;
  6.  
  7. CONST
  8.   Iterations = 25;
  9.  
  10. TYPE
  11.   InputFile  = TEXT;
  12.   String80   = String[80];
  13.  
  14. VAR
  15.   Counter    : Integer;
  16.   OK         : Boolean;
  17.   LIMIT      : Integer;
  18.   FooFactor  : Integer;
  19.   Buffer     : String80;
  20.   DoFile     : InputFile;
  21.  
  22.  
  23. PROCEDURE OpenAFile(VAR OK : Boolean);
  24.  
  25. VAR
  26.   I : Integer;
  27.  
  28. BEGIN
  29.   Assign(DoFile,'MYTEXT.TXT');
  30.   {$I-} Reset(DoFile); {$I+}
  31.   I := IOResult;
  32.   IF I = 0 THEN OK := True ELSE OK := False;
  33. END;
  34.  
  35.  
  36. FUNCTION CrunchLine(Buffer : String80) : Integer;
  37.  
  38. VAR
  39.   I      : Integer;
  40.   Bucket : Integer;
  41.  
  42. BEGIN
  43.   CrunchLine := 0;
  44.   IF Length(Buffer) > 0 THEN
  45.     BEGIN
  46.       Bucket := 0;
  47.       FOR I := 1 TO Length(Buffer) DO Bucket := Bucket +
  48.         Ord(Buffer[I]);
  49.       Bucket := Bucket DIV LENGTH(Buffer);
  50.       CrunchLine := Bucket
  51.     END
  52. END;
  53.  
  54.  
  55. FUNCTION CrunchFile(VAR DoFile : InputFile) : Integer;
  56.  
  57. VAR
  58.   Passes : Integer;
  59.   Temp   : Integer;
  60.  
  61. BEGIN
  62.   Temp := 0;
  63.   FOR Passes := 1 TO Iterations DO
  64.     BEGIN
  65.       Reset(DoFile);
  66.       WHILE NOT EOF(DoFile) DO
  67.         BEGIN
  68.           Readln(DoFile,Buffer);
  69.           Temp := Temp+CrunchLine(Buffer);
  70.         END
  71.     END;
  72.   CrunchFile := Temp DIV Iterations
  73. END;
  74.  
  75.  
  76.  
  77. BEGIN     { Main Program }
  78.   OpenAFile(OK);
  79.   IF NOT OK THEN
  80.     BEGIN
  81.       Writeln('>>The file cannot be opened.');
  82.       GOTO 100
  83.     END;
  84.   FooFactor := CrunchFile(DoFile);
  85.   Writeln('>>Foo Factor for Input File is ',FooFactor);
  86.   Close(DoFile);
  87.   Writeln('>>Processing completed.');
  88.   100:
  89. END.
  90.